package com.ap.core.validation.message.info;

import com.ap.core.domain.OrderPayment;
import org.joda.time.LocalDateTime;

import com.ap.core.common.types.MessageStatus;
import com.ap.core.cxf.jaxb.common.DeliveryType;
import com.ap.core.cxf.jaxb.rtp.TransactionCheckOutType;
import com.ap.core.domain.Amount;

/**
 * This info object will hold values from submit rtp message to validate the forth coming message retrieve rtp.
 */
public interface RTPOriginalInfoForConfirmPayment extends OriginalInfo{
	
	
	 TransactionCheckOutType getTransactionCheckOutType();

	 DeliveryType getDeliveryType();
	 
	 Long getFIid();
	 
	 Amount getTotalPaymentRequestAmount();
	 
	 String getApTransactionId();
	 
	 Long getApTransactionRetrievalId();
	 
	 boolean isOrderPaymentExists(MessageStatus msgStatus);
	 
	 LocalDateTime  getConfirmationExpiryTimeStmp();
	 
	 LocalDateTime  getReconCutoffEndTimeStmp();
	 
	 Long getApMessageId();

     LocalDateTime getConfirmationTimeStmp();

     OrderPayment getOriginalOrderPayment();
	 	 
}
